kompilator: parser.o lexer.o TablicaSymboli.o Symbol.o Quadruples.o Quadruple.o
	g++ -g -o kompilator parser.o lexer.o TablicaSymboli.o Symbol.o Quadruples.o Quadruple.o
lexer.o: lexer.c global.h
	g++ -g -c -Wall -Werror lexer.c
lexer.c: flex.l
	flex -o lexer.c flex.l
parser.o: parser.c global.h
	g++ -g -c -Wall -Werror parser.c
parser.c: bison.y
	bison -g -d -o parser.c  bison.y
TablicaSymboli.o: TablicaSymboli.cpp TablicaSymboli.h Symbol.h
	g++ -g -c -Wall -Werror TablicaSymboli.cpp -o $@ 
Symbol.o: Symbol.cpp Symbol.h global.h
	g++ -g -c -Wall -Werror Symbol.cpp -o $@
Quadruples.o: Quadruples.cpp Quadruples.h Quadruple.o TablicaSymboli.h
	g++ -g -c -Wall -Werror Quadruples.cpp -o $@
Quadruple.o: Quadruple.cpp Quadruple.h
	g++ -g -c -Wall -Werror Quadruple.cpp -o $@
clean:
	rm -f kompilator  parser.o lexer.o  lexer.c parser.c parser.h TablicaSymboli.o Symbol.o
